/* Araujo Heiker CI. 19726991
 * Goyo Willandher CI.20666542
 * Rodriguez Rafael CI.20009872
 * Williams Roman CI.20016812 
 * Morett Gilberth CI.20929667*/

package vista;
import com.toedter.calendar.JDateChooser;
import java.awt.BorderLayout;
import java.awt.event.ActionListener;
import java.util.Vector;

import javax.swing.ButtonGroup;
import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel;
import javax.swing.ImageIcon;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;

import javax.swing.WindowConstants;
import javax.swing.border.LineBorder;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.DefaultTableModel;
import javax.swing.SwingUtilities;


/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
public class VentanaConsultaDespachosRealizados extends javax.swing.JFrame {
	private JPanel jPnlConsultaDespachosRealizados;
	private JScrollPane jScrollPaneDespachosRealizados;
	private JTable jTblDespachosRealizados;
	private JLabel jLblTitulo;
	private JPanel jPanelCliente;
	private JDateChooser calendarioHasta;
	private JDateChooser calendarioDesde;
	private JComboBox cmbIdCliente;
	private JLabel jLblCliente;
	private JLabel jLblHasta;
	private JLabel jLabelTexto;
	private JPanel jPanelFechas;
	private JLabel jLblResultados;
	private JLabel jLabelImagen;
	private JRadioButton jRadioButton1;
	private JRadioButton jRbtFecha;
	private JPanel jPanelCriterioConsulta;
	private JLabel jLabel1;

	/**
	* Auto-generated main method to display this JFrame
	*/
	public static void main(String[] args) {
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				VentanaConsultaDespachosRealizados inst = new VentanaConsultaDespachosRealizados();
				inst.setLocationRelativeTo(null);
				inst.setVisible(true);
			}
		});
	}
	
	public VentanaConsultaDespachosRealizados() {
		super();
		initGUI();
	}
	
	private void initGUI() {
		try {
			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
			this.setTitle("Sistema de Almacen - Consulta Despachos Realizados");
			getContentPane().setBackground(new java.awt.Color(255,255,255));
			BorderLayout thisLayout = new BorderLayout();
			getContentPane().setLayout(thisLayout);
			{
				jPnlConsultaDespachosRealizados = new JPanel();
				getContentPane().add(jPnlConsultaDespachosRealizados, BorderLayout.CENTER);
				jPnlConsultaDespachosRealizados.setLayout(null);
				jPnlConsultaDespachosRealizados.setBackground(new java.awt.Color(255,255,255));
				jPnlConsultaDespachosRealizados.setBounds(0, 0, 698, 403);
				jPnlConsultaDespachosRealizados.setEnabled(false);
				{
					jScrollPaneDespachosRealizados = new JScrollPane();
					jPnlConsultaDespachosRealizados.add(jScrollPaneDespachosRealizados);
					jScrollPaneDespachosRealizados.setBounds(81, 249, 657, 117);
					{
						DefaultTableModel jTblDespachosRealizadosModel = 
								new DefaultTableModel(
										new String[][] { },
										new String[] { "Codigo del Despacho", "Cantidad Item Pedidos" });
						jTblDespachosRealizados = new JTable();
						jScrollPaneDespachosRealizados.setViewportView(jTblDespachosRealizados);
						jTblDespachosRealizados.setModel(jTblDespachosRealizadosModel);
						jTblDespachosRealizados.setPreferredSize(new java.awt.Dimension(630, -6));
					}
				}
				{
					jLabel1 = new JLabel();
					jPnlConsultaDespachosRealizados.add(jLabel1);
					jLabel1.setText("Lista de Despachos Realizados");
					jLabel1.setBounds(275, 17, 301, 29);
					jLabel1.setFont(new java.awt.Font("Bitstream Charter",0,20));
				}
				{
					jPanelCriterioConsulta = new JPanel();
					jPnlConsultaDespachosRealizados.add(jPanelCriterioConsulta);
					jPanelCriterioConsulta.setBounds(81, 117, 261, 64);
					jPanelCriterioConsulta.setBorder(new LineBorder(new java.awt.Color(0,0,0), 1, false));
					jPanelCriterioConsulta.setBackground(new java.awt.Color(255,255,255));
					jPanelCriterioConsulta.setLayout(null);
					{
						// Creamos un ButtonGroup para luego agregar
						// los JRadioButton que creemos y asi sean
						// dependientes y crear una seleccion simple
						ButtonGroup bgrOpciones = new ButtonGroup();
						jRbtFecha = new JRadioButton();
						jPanelCriterioConsulta.add(jRbtFecha);
						jRbtFecha.setLayout(null);
						jRbtFecha.setText("Fecha");
						jRbtFecha.setBackground(new java.awt.Color(255,255,255));
						jRbtFecha.setBounds(23, 11, 213, 19);
						jRbtFecha.setFont(new java.awt.Font("Bitstream Charter",0,18));
						// Agregamos el JRadioButton al ButtonGroup					
						bgrOpciones.add(jRbtFecha);
					
						jRadioButton1 = new JRadioButton();
						jPanelCriterioConsulta.add(jRadioButton1);
						jRadioButton1.setText("Despachos a un Cliente");
						jRadioButton1.setBounds(23, 37, 235, 19);
						jRadioButton1.setFont(new java.awt.Font("Bitstream Charter",0,18));
						jRadioButton1.setBackground(new java.awt.Color(255,255,255));
						bgrOpciones.add(jRadioButton1);
				
					}
				}
				{
					jLblTitulo = new JLabel();
					jPnlConsultaDespachosRealizados.add(jLblTitulo);
					jLblTitulo.setText("Elija un Criterio de Consulta :");
					jLblTitulo.setBounds(65, 80, 277, 15);
					jLblTitulo.setFont(new java.awt.Font("Bitstream Charter",0,18));
				}
				{
					jLabelImagen = new JLabel();
					jPnlConsultaDespachosRealizados.add(jLabelImagen);
					jLabelImagen.setBounds(0, 35, 51, 407);
					jLabelImagen.setIcon(new ImageIcon(getClass().getClassLoader().getResource("imagen/fondo7.jpg")));
				}
				{
					jLblResultados = new JLabel();
					jPnlConsultaDespachosRealizados.add(jLblResultados);
					jPnlConsultaDespachosRealizados.add(getJPanelCliente());
					jPnlConsultaDespachosRealizados.add(getJPanelFechas());
					jLblResultados.setText("Resultados de la Consulta");
					jLblResultados.setBounds(309, 222, 240, 15);
					jLblResultados.setFont(new java.awt.Font("Bitstream Charter",0,18));
				}
			}
			pack();
			this.setSize(790, 472);
		} catch (Exception e) {
		    //add your error handling code here
			e.printStackTrace();
		}
	}
	
	public void agregarListener(ActionListener accion) {
	     // Agregamos un Listener a los JRadioButton
		 // encargados de estar pendiente de un evento
		 // sobre el JRadioButton (Click)
		jRbtFecha.addActionListener(accion);
		jRadioButton1.addActionListener(accion);
	}
	
	public String getOpcionSeleccionada() {
		if (jRbtFecha.isSelected())
			return jRbtFecha.getText();
		else if (jRadioButton1.isSelected())
			return jRadioButton1.getText();
		else
			return "";		
	}
	
	public void mostrarMensaje(String mensaje){
		JOptionPane.showMessageDialog(this, mensaje);
	}
	
	public void cargarListado(AbstractTableModel atm) {
		jTblDespachosRealizados.setModel(atm);
	}

	public int getCantidadFilas() {
		return this.jTblDespachosRealizados.getRowCount();
	}

	public void agregarFilaDeposito(Vector<String> despachos) {
		
		DefaultTableModel modelop = (DefaultTableModel) this.jTblDespachosRealizados.getModel();
		modelop.addRow(despachos);
	}
	
	public String obtenerCodigoDepositoFilaSeleccionada(){
		int fila = jTblDespachosRealizados.getSelectedRow();
		String codDespacho = (String) jTblDespachosRealizados.getModel().getValueAt(fila, 0);
		return codDespacho;
	}
	
	public int nroFilasSeleccionadas() {
		return jTblDespachosRealizados.getSelectedRowCount();
	}
	
	private JPanel getJPanelFechas() {
		if(jPanelFechas == null) {
			jPanelFechas = new JPanel();
			jPanelFechas.setBounds(354, 126, 380, 46);
			jPanelFechas.setLayout(null);
			jPanelFechas.setBackground(new java.awt.Color(255,255,255));
			jPanelFechas.setVisible(false);
			jPanelFechas.add(getJLabelTexto());
			jPanelFechas.add(getJLblHasta());
			jPanelFechas.add(getCalendarioDesde());
			jPanelFechas.add(getCalendarioHasta());
		}
		return jPanelFechas;
	}
	
	private JPanel getJPanelCliente() {
		if(jPanelCliente == null) {
			jPanelCliente = new JPanel();
			jPanelCliente.setBounds(354, 128, 379, 44);
			jPanelCliente.setLayout(null);
			jPanelCliente.setBackground(new java.awt.Color(255,255,255));
			jPanelCliente.setVisible(false);
			jPanelCliente.setVisible(false);
			jPanelCliente.add(getJLblCliente());
			jPanelCliente.add(getCmbIdCliente());
		}
		return jPanelCliente;
	}
	
	private JComboBox getCmbIdCliente() {
		if(cmbIdCliente == null) {
			ComboBoxModel cmbIdClienteModel = new DefaultComboBoxModel(new String[] {});
			cmbIdCliente = new JComboBox();
			cmbIdCliente.setModel(cmbIdClienteModel);
			cmbIdCliente.setBounds(135, 12, 160, 22);
		}
		return cmbIdCliente;
	}
	
	private JLabel getJLabelTexto() {
		if(jLabelTexto == null) {
			jLabelTexto = new JLabel();
			jLabelTexto.setText("Desde:");
			jLabelTexto.setBounds(12, 16, 61, 17);
		}
		return jLabelTexto;
	}

	private JLabel getJLblHasta() {
		if(jLblHasta == null) {
			jLblHasta = new JLabel();
			jLblHasta.setText("Hasta:");
			jLblHasta.setBounds(175, 17, 58, 15);
		}
		return jLblHasta;
	}

	private JLabel getJLblCliente() {
		if(jLblCliente == null) {
			jLblCliente = new JLabel();
			jLblCliente.setText("Id. Cliente:");
			jLblCliente.setBounds(27, 16, 83, 15);
		}
		return jLblCliente;
	}

	public void setVisiblePanelFechas(boolean valor){
		jPanelFechas.setVisible(valor);
	}
	
	public void setVisiblePanelCliente(boolean valor){
		jPanelCliente.setVisible(valor);
	}
	public String getTxtRbdFecha() {
		return jRbtFecha.getText();
	}
	
	public String getTxtRbdDespachosUnCliente(){
		return jRadioButton1.getText();
	}
	
	public JComboBox obtenerCmbIdCliente(){
		return cmbIdCliente;
	}

	public void setCmbIdCliente(JComboBox cmbIdCliente) {
		this.cmbIdCliente = cmbIdCliente;
	}
	
	public void agregarLineacmbIdCliente(String line) {
		DefaultComboBoxModel modelocombo = (DefaultComboBoxModel) cmbIdCliente.getModel();
		modelocombo.addElement(line);

	}
	
	private JDateChooser getCalendarioDesde() {
		if(calendarioDesde == null) {
			calendarioDesde = new JDateChooser();
			calendarioDesde.setBounds(67, 11, 106, 22);
		}
		return calendarioDesde;
	}
	
	private JDateChooser getCalendarioHasta() {
		if(calendarioHasta == null) {
			calendarioHasta = new JDateChooser();
			calendarioHasta.setBounds(228, 10, 109, 22);
		}
		return calendarioHasta;
	}

}
